Just Do IT !

HA高可用与负载均衡入门到实战(一)----Docker中安装与配置Nginx

字数统计: 617阅读时长: 2 min
2020/04/09 Share

实验环境

vmware虚拟机双核2G内存以上
安装有CentOS7和docker

配置nginx支持php

启动进入容器nginx

  1. 启动容器docker run -d –privileged -p 80:80 nginx /usr/sbin/init
    在这里插入图片描述
    2) 查看容器docker ps
    在这里插入图片描述
    3) 进入容器docker exec -it 容器ID /bin/bash
    在这里插入图片描述

    使用yum方式安装php-fpm

1) 使用yum 方式安装php-fpm

2) 查看php-fpm配置文件:/etc/php-fpm.conf和/etc/php-fpm.d/www.conf

3) 编辑/etc/php-fpm.d/www.conf,修改监听地址和端口
在这里插入图片描述

4) 启动php-fpm,systemctl start php-fpm

5) 配置php-fpm自启动,systemctl enable php-fpm

6) netstat -antp,查看php-fpm监听端口;
在这里插入图片描述

配置nginx支持php

1) 编辑/etc/nginx/nginx.conf文件, 重新启动nginx服务

删除原有server代码块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server {
listen 80;
server_name localhost;
location / {
root /var/www;
index index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
include fastcgi_params;
}
}

关于FastCGI

请求处理流程:CGI规范允许Web服务器根据浏览器请求调用CGI程序,并将其输出结果通过响应发送给浏览器,从而使Web服务器支持处理复杂的网站业务需求
在这里插入图片描述

2) 在/var/www目录下建立index.php文件

1
2
3
<?php
phpinfo();
?>

3) 在主机中使用浏览器访问http://虚拟机地址/index.php

在这里插入图片描述

配置Nginx+Apache实现动静分离

动静分离:

由Nginx提供对外访问,静态请求直接由Nginx处理,动态请求转交给Apache处理,这样就实现了动静分离。
动态请求是指该请求需要服务器端的程序处理。静态请求不需要程序处理,直接读取文件并返回即可。
在这里插入图片描述

启动进入容器centos:v1

1) 启动容器docker run -d –privileged centos:v1 /usr/sbin/init
在这里插入图片描述
2) 查看容器docker ps -a

3) 进入容器docker exec -it 容器ID /bin/bash

使用yum方式安装apache和php

1) 使用yum方式安装httpd

2) 使用yum方式安装php

3) 编辑/var/www/html/site.php文件

1
2
3
<? php
echo “site2”;
?>

4) 重启httpd,netstat -antp查看监听端口
在这里插入图片描述
5) 配置httpd自启动,systemctl enable httpd

6) 在虚拟机使用curl http://容器地址/site.php
在这里插入图片描述在虚拟机中保存容器,docker commit 容器ID php-apache

配置nginx支持动静分离

1) 进入容器nginx

2) 编辑/etc/nginx/nginx.conf文件

1
2
3
4
5
6
7
8
9
10
11
12
server {
listen 80;
server_name localhost;
location / {
root /var/www;
index index.html;
}
location ~ \.php$ {
proxy_pass http://172.17.0.3;
proxy_set_header host $host;
}
}

3) 重新启动nginx服务
4) 在主机中使用浏览器访问http://虚拟机地址/site.php

在这里插入图片描述

CATALOG
  1. 1. 实验环境
  2. 2. 配置nginx支持php
    1. 2.1. 启动进入容器nginx
    2. 2.2. 使用yum方式安装php-fpm
    3. 2.3. 配置nginx支持php
  3. 3. 配置Nginx+Apache实现动静分离
    1. 3.1. 启动进入容器centos:v1
    2. 3.2. 使用yum方式安装apache和php
    3. 3.3. 配置nginx支持动静分离